package com.qfedu.yuxiaoer.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class PreLease implements Serializable {
    @ApiModelProperty(value = "预定租房ID")
    private Integer id;

    @ApiModelProperty(value = "租客手机号")
    private String tenantPhone;

    @ApiModelProperty(value = "租客姓名")
    private String tenantName;

    @ApiModelProperty(value = "租客证件号")
    private String tenantNumber;

    @ApiModelProperty(value = "租客证件类型")
    private String tenantDocumentType;

    @ApiModelProperty(value = "更多信息表关联ID")
    private Integer messageId;

    @ApiModelProperty(value = "合同开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractStartTime;

    @ApiModelProperty(value = "合同结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractEndTime;

    @ApiModelProperty(value = "出租时长")
    private String hireTime;

    @ApiModelProperty(value = "付款方式")
    private String payWay;

    @ApiModelProperty(value = "总/月租金")
    private BigDecimal rent;

    @ApiModelProperty(value = "常规押金")
    private BigDecimal routineDeposit;

    @ApiModelProperty(value = "支付时间")
    private String payTime;

    @ApiModelProperty(value = "定金")
    private BigDecimal deposit;

    @ApiModelProperty(value = "预定时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date presetTime;

    @ApiModelProperty(value = "预定签约时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date presetSignedTime;

    @ApiModelProperty(value = "预定状态(0:已确认,1:未确认)")
    private Integer state;

    @ApiModelProperty(value = "预定类型(0:线上,1:线下)")
    private Integer type;

    @ApiModelProperty(value = "独栋房源绑定")
    private Integer houseDetachedBuildId;

    @ApiModelProperty(value = "合租房源绑定")
    private Integer houseLeaseId;

    private  HouseDetachedBuild houseDetachedBuild;

    private HouseLease houseLease;

    public HouseDetachedBuild getHouseDetachedBuild() {
        return houseDetachedBuild;
    }

    public void setHouseDetachedBuild(HouseDetachedBuild houseDetachedBuild) {
        this.houseDetachedBuild = houseDetachedBuild;
    }

    public HouseLease getHouseLease() {
        return houseLease;
    }

    public void setHouseLease(HouseLease houseLease) {
        this.houseLease = houseLease;
    }

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTenantPhone() {
        return tenantPhone;
    }

    public void setTenantPhone(String tenantPhone) {
        this.tenantPhone = tenantPhone;
    }

    public String getTenantName() {
        return tenantName;
    }

    public void setTenantName(String tenantName) {
        this.tenantName = tenantName;
    }

    public String getTenantNumber() {
        return tenantNumber;
    }

    public void setTenantNumber(String tenantNumber) {
        this.tenantNumber = tenantNumber;
    }

    public String getTenantDocumentType() {
        return tenantDocumentType;
    }

    public void setTenantDocumentType(String tenantDocumentType) {
        this.tenantDocumentType = tenantDocumentType;
    }

    public Integer getMessageId() {
        return messageId;
    }

    public void setMessageId(Integer messageId) {
        this.messageId = messageId;
    }

    public Date getContractStartTime() {
        return contractStartTime;
    }

    public void setContractStartTime(Date contractStartTime) {
        this.contractStartTime = contractStartTime;
    }

    public Date getContractEndTime() {
        return contractEndTime;
    }

    public void setContractEndTime(Date contractEndTime) {
        this.contractEndTime = contractEndTime;
    }

    public String getHireTime() {
        return hireTime;
    }

    public void setHireTime(String hireTime) {
        this.hireTime = hireTime;
    }

    public String getPayWay() {
        return payWay;
    }

    public void setPayWay(String payWay) {
        this.payWay = payWay;
    }

    public BigDecimal getRent() {
        return rent;
    }

    public void setRent(BigDecimal rent) {
        this.rent = rent;
    }

    public BigDecimal getRoutineDeposit() {
        return routineDeposit;
    }

    public void setRoutineDeposit(BigDecimal routineDeposit) {
        this.routineDeposit = routineDeposit;
    }

    public String getPayTime() {
        return payTime;
    }

    public void setPayTime(String payTime) {
        this.payTime = payTime;
    }

    public BigDecimal getDeposit() {
        return deposit;
    }

    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    public Date getPresetTime() {
        return presetTime;
    }

    public void setPresetTime(Date presetTime) {
        this.presetTime = presetTime;
    }

    public Date getPresetSignedTime() {
        return presetSignedTime;
    }

    public void setPresetSignedTime(Date presetSignedTime) {
        this.presetSignedTime = presetSignedTime;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getHouseDetachedBuildId() {
        return houseDetachedBuildId;
    }

    public void setHouseDetachedBuildId(Integer houseDetachedBuildId) {
        this.houseDetachedBuildId = houseDetachedBuildId;
    }

    public Integer getHouseLeaseId() {
        return houseLeaseId;
    }

    public void setHouseLeaseId(Integer houseLeaseId) {
        this.houseLeaseId = houseLeaseId;
    }

    @Override
    public String toString() {
        return "PreLease{" +
                "id=" + id +
                ", tenantPhone='" + tenantPhone + '\'' +
                ", tenantName='" + tenantName + '\'' +
                ", tenantNumber='" + tenantNumber + '\'' +
                ", tenantDocumentType='" + tenantDocumentType + '\'' +
                ", messageId=" + messageId +
                ", contractStartTime=" + contractStartTime +
                ", contractEndTime=" + contractEndTime +
                ", hireTime='" + hireTime + '\'' +
                ", payWay='" + payWay + '\'' +
                ", rent=" + rent +
                ", routineDeposit=" + routineDeposit +
                ", payTime='" + payTime + '\'' +
                ", deposit=" + deposit +
                ", presetTime=" + presetTime +
                ", presetSignedTime=" + presetSignedTime +
                ", state=" + state +
                ", type=" + type +
                ", houseDetachedBuildId=" + houseDetachedBuildId +
                ", houseLeaseId=" + houseLeaseId +
                ", houseDetachedBuild=" + houseDetachedBuild +
                ", houseLease=" + houseLease +
                '}';
    }
}